<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 一、Symbol:独一无二的值(随机生成一个唯一的id)
        // 是一种简单数据类型
        let s = Symbol();
        let s2 = Symbol();
        console.log(s);
        console.log(s2);
        console.log(s === s2);

        //可以给标识符
        // 类似注释,没有实际的意义
        // let s = Symbol('key')
        // let s2 = Symbol('key')
        // console.log(s,s2,s===s2);

        //使用场景:
        // 一、模拟私有成员
        // let obj = {
        //     name:'张三',
        //     age:20,
        //     [Symbol()]:"100kg"
        // }
        // console.log(obj);
        // console.log(obj[Symbol()]);

        // // 拿到Symbol
        // let s = Object.getOwnPropertySymbols(obj)[0]
        // console.log(s);
        // console.log(obj[s]);

        // 二、特别需求
            // let cate = {
            //     //只要保证两个键值不同,所以用Symbol
            //     person:Symbol(),
            //     animal:Symbol(),
            // }
            // function getCate(type){
            //     if(type === cate.person){
            //         console.log('人类');
            //     }else{
            //         console.log('动物');
            //     }
            // }
            // getCate(cate.person)
            // getCate(cate.animal)
    </script>
</body>
</html>